home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
User's Choice Windows CD
/
User's Choice Windows CD (CMS Software)(1993).iso
/
windows5
/
winnet.zip
/
DESQVIEW.NOT
< prev
next >
Wrap
Internet Message Format
|
1990-05-09
|
3KB
Return-Path: <nelson>
From: PIRARD@BLIULG11.BITNET (Andr'e PIRARD)
Newsgroups: comp.protocols.tcp-ip.ibmpc
Subject: Re: enhancement to packet driver spec wanted (for desqview0
Date: 7 May 90 13:07:50 GMT
Organization: The Internet
Apparently-To: nelson
On Fri, 13 Apr 90 15:58:04 GMT Steve Wallace said:
>I'd like to propose an enhancement to the packet driver spec. Those of
>us who use multi-taskers (Desqview, Windows, etc) are not able to
>cleanly use Novell netware and other network software at the same time.
>The netware shell can't be loaded in a window, therefore the packet
>driver must be loaded before the multi-tasker. Applications like telnet
>will run in a window, but if there are other applications running in the
>background, telnet will eventually hang. The packet driver is executing
>the function pointed to by receiver, but the real receiver is paged out.
>
> It would be nice to have a modified access_type function that allowed a
>software interrupt to be used as the receiver. Applications like
>telnet could be modified to support hooking an interrupt to get packets.
>Desqview, and I assume others, seems to be able to deal with this type
>of interface. Any thoughts?
>
>
>Steven Wallace
>ssw@lavanix.ucs.indiana.edu
Under DESQview, communication programs should be non-swappable (to disk).
Consequently, the problem exists only when multi-tasked applications
reside in different switchable memory banks, available only with EEMS,
"true" LIM 4.0 or QEMM386 or equivalent (probably the only comfortable
environments to run network software). Else, the address space is flat.
The problems to get packet drivers work with DESQview are:
1) To get the hardware interrupt to the driver, which means that either the
driver must be loaded before DESQview, or that DESQview must see it grab
a hardware interrupt vector it considers a "communication interrupt". When
those interrupts occur, DV switches in the proper memory bank before going
to the handler loaded in an application memory space.
These are IRQ 2, 3, 4, 5 on AT, and 7, plus 8-15 on latest versions.
2) To get the upcall to the application, which means either the driver must
be loaded within the application, or that it should take steps to switch in
the correct bank much the same way as during interrupt time for (1).
Because this last point is not implemented, the driver *must* be loaded
within the application, unless the address space is flat.
Running multiple applications of the same protocol (as opposed to multiple
network protocols) would require that the driver contain TCP and UDP
(a socket driver), and that it provide the same bank switching as (2).
And a socket API used by the applications, of course.
Drivers (especially socket) outside applications eat up valuable nonpaged
memory. For this reason, such a scheme would require them to reside in a
separate application and do the upcalls to the proper bank via a small
resident code stub. And, to be even nicer, that the API suspend
the applications to avoid them looping unnecessarily.
I hope these will be useful thoughts.
Andr'e PIRARD
SEGI Univ. de Li`ege
B26 - Sart Tilman
B-4000 Li`ege 1 (Belgium)
PIRARD@BLIULG11 on EARN alias BITNET
pirard@vm1.ulg.ac.be as also known to Internet